Network communication protocols such as the TCP/IP suite of protocols are well known and widely used for servicing connection oriented data transmissions between two devices communicating information over a network such as the Internet.
While certain protocols such as the TCP protocol provide mechanisms for reliable delivery of data between a sending device and a receiving device, data packets containing information can still get lost or dropped in a congested network.
Typically, conventional implementations of network protocols such as the TCP/IP suite of internet protocols maintain retransmission timers that are initially set to a static fixed value and used to determine whether a pending request for information transmitted over the network has been lost and must be retransmitted. For example, if a connection request or a domain name resolution request is transmitted from a sending device to a receiving device in accordance with one or more appropriate networking protocols and a response is not received prior to the expiry of a retransmission timer that is initially set to a static fixed value, the sending device will typically determine that the pending and active request was lost in transit and retransmit the same original request. While the use of retransmission timers that are initially set to a static fixed value is useful in some data transmissions using conventional network protocols, it can increase the latency measured from a user's perspective in certain situations.